筛选器
可以创建称为筛选查询的一类特殊查询。标准查询用于显示来自数据库的信息列表,而筛选查询可用于:
- 减少某些地方用户可用的值
- 显示根据运行时自动确定的值筛选出的列表
例如,将选项卡添加至“事件”窗口以显示已添加至事件的注释的两个选项是:
- 作为集合,显示已添加至事件的所有注释,或者
- 作为筛选器,仅显示由提升事件的用户添加至事件的那些注释。
有关将选项卡添加至窗口之类的详细信息,请参阅集合。
下表高亮显示标准查询和筛选查询之间的主要区别:
标准查询 |
筛选查询 |
---|---|
选择的筛选条件来自作为查询的基础的业务对象。 |
可以选择从中选择筛选条件的对象。 |
条件必须设为绝对值:通过提示用户输入所需的值在设计时间或在运行时间设置这些值。 |
条件可设为绝对值或运行时值。 |
可以包括分组。 |
不可以包括分组。 |
筛选查询的典型用法包括:
- 筛选对象设计器中相关对象上的数据
- 作为窗口设计上的选项卡,提供与窗口属性相关的信息的列表
有关筛选对象设计器中的相关对象上的数据的详细信息,请参阅数据筛选。
以下步骤介绍如何创建可以作为“事件”窗口上的选项卡添加的筛选器,从而仅显示提交用户与事件用户相同的事件的注释。此筛选器有两个条件:
- “注释”对象上的事件等于窗口上显示的事件
- “注释”对象上的提交用户等于“事件”对象上的提交用户
起初,筛选器选择“事件管理”模块中的所有注释。第一个条件筛选添加至所选事件的注释,第二个条件筛选与事件具有相同提交用户的注释。
要创建筛选器:
- 在查询和报告设计器的操作列表中,单击新建筛选器。
出现“新建筛选器”对话框。 - 键入筛选器的标题和说明。
- 在基于组中,选择包含要在列表中显示的数据的模块和业务对象。
在示例中,选择事件管理和注释 – 希望看到有关注释的信息的列表。 - 在筛选条件组中,为对象(包含希望筛选列表所依据的值)选择模块和业务对象。这会是窗口所基于的对象。
在示例中,选择事件管理和事件 – 希望按照事件以及事件中用于提交用户的值来筛选。 - 选择所有人选项按钮,然后单击确定。
出现筛选器设计器;这与标准查询和报告设计器十分类似。 - 添加要显示在列表中的属性,然后单击下一步。
出现“条件”页面。如果未设置任何条件,则筛选器显示“事件管理”模块中的所有注释。 - 从属性树上,将第一个筛选条件的属性拖动到当前条件列表上。
首先,仅希望显示链接至显示的事件的注释,因此将事件关系 () 拖动到当前条件列表上。
出现“条件”对话框。如果要使用当前事件,则需要指定运行时值,而非绝对值。 - 单击指定运行时值。
更新“条件”对话框。
请记住,此对话框中可用值基于事件管理\事件,这是作为筛选依据的值,因此不需要进行选择。希望筛选所依据的顶级值:事件。
- 单击确定。
随即更新“当前条件”列表,以显示事件等于 (Incident)。即注释上的事件与窗口中显示的事件相匹配。 - 从属性树上,将下一个要作为条件的基础的属性拖动到当前条件列表上。
在示例中,使用提交用户属性。
出现“条件”对话框。
请注意,“条件”对话框与之前不同,因为正在按照事件上的属性(而非事件本身)进行筛选。
- 在比较值组中,选择指定运行时值。
“值”控件由列表框(可以使用此列表框指定绝对值)更改为树(可以使用此树指定运行时确定的值)。此树中可用的值取自在“新建筛选器”对话框的“筛选条件”组中选择的对象。 - 在值树中,选择要利用运行时值匹配筛选条件的属性,然后单击确定。
在示例中,使用提交用户属性。
“当前条件”列表更新。 - 单击
,然后单击完成。
在示例中,筛选条件读取事件等于 (Incident) 和提交用户等于 (Raise User)。由于筛选器以事件管理\注释为基础,但是按照事件管理\事件筛选,因此注释上的事件与窗口中显示的事件匹配时,并且注释上的提交用户与当前事件上的提交用户匹配时,这些条件为真。
使用“查询”控件将此筛选器添加至“事件”窗口(请参阅将查询添加至窗口)可在列出所有附加至事件(与事件具有相同的“提交用户”值)的注释的窗口下方创建一个选项卡。